This disclosure relates to Workflow Auto Generation and Workflow Analysis. It finds particular application in conjunction with workflow as related to printing jobs, and will be described with particular reference thereto. However, it is to be appreciated that the embodiments illustrated herein are also amenable to other like applications.
Workflow-based businesses rely heavily on their ability to effectively compete in and control existing and emerging workflows. Given the heterogeneity of the space, integration of these heterogeneous distributed systems is a considerable challenge and is fast becoming a critical factor of success in the business. In addition to the multiplicity of systems, customers are demanding customization and flexibility for their workflows. As a result, automation of the integration and deployment of workflows today means considerable competitive advantage. Effective modeling is key part of an overall workflow automation strategy.
Current workflow modeling technologies and tools enable clever visualization and some analysis capability. However, their effectiveness relies heavily upon the idiosyncratic knowledge and expertise of the person doing the modeling. That is, it is a highly manual and cumbersome effort and yields results only as good as the intuition and skill of the particular modeler.
Another aspect of this disclosure relates to Hierarchical Dependence Graphs for Dynamic JDF workflows. JDF is a Job Definition Format proposed by an industry consortium body CIP4, which affects every aspect involved in the creation and production of printing from pre-press, press to post-press. JDF provides a common language for describing a print job across enterprises, department, software and systems. It also provides a basis for workflow automation that incorporates human, machine and computer. But JDF itself is not an explicit workflow specification language. Instead, the JDF workflow is implicitly described as a job description that contains a collection of process nodes. The execution sequence of process nodes of a job description is implicitly defined as resource dependences across process nodes. JDF leaves the issues of how to drive the sequence of process flow unspecified and completely up to the implementation of MIS or Controller components in JDF-based system. However, in most existing implementations, either a JDF workflow is hard-coded within the implementation, or a limited set of static JDF workflows are supported. In order to facilitate a fully dynamic JDF workflow, the dependences among process nodes and resources should be expressed and tracked explicitly, and also should be decoupled completely from the implementations.
The Hierarchical Dependence Graph (HDG) of this disclosure extends the theory of directed acyclic graph (DAG) by allowing hierarchical representation of workflows. It can be used to explicitly express the dependences across JDF (process) nodes and resources derived from any JDF job description. It defines a flexible and semantic-rich model to represent JDF workflow as a set of DAGs at different abstractions: intent level, process group levels and process execution level. By explicitly representing JDF workflows in the HDG, it not only enables the separation of the workflow itself from MIS/or Controller implementations to support fully dynamic JDF workflows, but also it provides a theoretic basis for formal analysis of JDF workflows.
Furthermore, this disclosure introduces the concept of Connectivity Matrixs and their transformations to allow two views derived from a single model: process-centric view and resource-centric view. By exploiting the fact that each of these views is a DAG with a hierarchical structure, it is possible to show various analytical properties defined for DAG and recursively analyze JDF workflows, particularly in the following perspectives:                Validating the JDF workflow is a valid workflow without any cyclic dependence, missing resources, dangling resources or nodes.        Identifying the impacted JDF nodes or resources due to the availability and workflow status changes.        Intelligently handling failures or exceptions by considering the root causes of failures or exceptions rather than the static dependence pre-defined in a given workflow model.        
The key innovations are primarily two-fold: (1) extending DAG (directed acyclic graph) with a hierarchical structure which results in a novel graph structure HDG (hierarchical dependence graph); and (2) using multiple orthogonal HDGs to explicitly describe the dependencies between workflow components, which eventually enables dynamic workflows, such as JDF.